package org.wu.framework.authorization.platform.application.assembler;

import org.wu.framework.authorization.platform.application.dto.SysZoneApplicationVersionDTO;
import org.wu.framework.authorization.platform.domain.model.sys.zone.application.version.SysZoneApplicationVersion;
import org.wu.framework.authorization.platform.application.command.sys.zone.application.version.SysZoneApplicationVersionRemoveCommand;
import org.wu.framework.authorization.platform.application.command.sys.zone.application.version.SysZoneApplicationVersionStoryCommand;
import org.wu.framework.authorization.platform.application.command.sys.zone.application.version.SysZoneApplicationVersionUpdateCommand;
import org.wu.framework.authorization.platform.application.command.sys.zone.application.version.SysZoneApplicationVersionQueryListCommand;
import org.wu.framework.authorization.platform.application.command.sys.zone.application.version.SysZoneApplicationVersionQueryOneCommand;
import org.wu.framework.core.mapper.LazyStructMappers;
import org.wu.framework.core.mapper.LazyStructMapper;
/**
 * describe 应用版本 
 *
 * @author Jia wei Wu
 * @date 2024/04/02 06:21 晚上
 * @see org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyAssembler 
 **/
@LazyStructMapper
public interface SysZoneApplicationVersionDTOAssembler {


    /**
     * describe MapStruct 创建的代理对象
     *
     
     
     
     * @author Jia wei Wu
     * @date 2024/04/02 06:21 晚上
     **/
    SysZoneApplicationVersionDTOAssembler INSTANCE =LazyStructMappers.getMapper(SysZoneApplicationVersionDTOAssembler.class);
    /**
     * describe 应用层存储入参转换成 领域对象
     *
     * @param sysZoneApplicationVersionStoryCommand 保存应用版本对象
     * @return {@link SysZoneApplicationVersion} 应用版本领域对象
     
     * @author Jia wei Wu
     * @date 2024/04/02 06:21 晚上
     **/
     SysZoneApplicationVersion toLazyZoneApplicationVersion(SysZoneApplicationVersionStoryCommand sysZoneApplicationVersionStoryCommand);
    /**
     * describe 应用层更新入参转换成 领域对象
     *
     * @param sysZoneApplicationVersionUpdateCommand 更新应用版本对象
     * @return {@link SysZoneApplicationVersion} 应用版本领域对象
     
     * @author Jia wei Wu
     * @date 2024/04/02 06:21 晚上
     **/
     SysZoneApplicationVersion toLazyZoneApplicationVersion(SysZoneApplicationVersionUpdateCommand sysZoneApplicationVersionUpdateCommand);
    /**
     * describe 应用层查询入参转换成 领域对象
     *
     * @param sysZoneApplicationVersionQueryOneCommand 查询单个应用版本对象参数
     * @return {@link SysZoneApplicationVersion} 应用版本领域对象
     
     * @author Jia wei Wu
     * @date 2024/04/02 06:21 晚上
     **/
     SysZoneApplicationVersion toLazyZoneApplicationVersion(SysZoneApplicationVersionQueryOneCommand sysZoneApplicationVersionQueryOneCommand);
    /**
     * describe 应用层查询入参转换成 领域对象
     *
     * @param sysZoneApplicationVersionQueryListCommand 查询集合应用版本对象参数
     * @return {@link SysZoneApplicationVersion} 应用版本领域对象
     
     * @author Jia wei Wu
     * @date 2024/04/02 06:21 晚上
     **/
     SysZoneApplicationVersion toLazyZoneApplicationVersion(SysZoneApplicationVersionQueryListCommand sysZoneApplicationVersionQueryListCommand);
    /**
     * describe 应用层删除入参转换成 领域对象
     *
     * @param sysZoneApplicationVersionRemoveCommand 删除应用版本对象参数
     * @return {@link SysZoneApplicationVersion} 应用版本领域对象
     
     * @author Jia wei Wu
     * @date 2024/04/02 06:21 晚上
     **/
     SysZoneApplicationVersion toLazyZoneApplicationVersion(SysZoneApplicationVersionRemoveCommand sysZoneApplicationVersionRemoveCommand);
    /**
     * describe 持久层领域对象转换成DTO对象
     *
     * @param sysZoneApplicationVersion 应用版本领域对象
     * @return {@link SysZoneApplicationVersionDTO} 应用版本DTO对象
     
     * @author Jia wei Wu
     * @date 2024/04/02 06:21 晚上
     **/
     SysZoneApplicationVersionDTO fromLazyZoneApplicationVersion(SysZoneApplicationVersion sysZoneApplicationVersion);
}